Application
This unit applies to individuals responsible for coding secure software applications. These individuals may work as software developers, software engineers, system and security administrators and testers.
Prerequisites
Not applicable.
Elements and Performance Criteria
1. Implement policy-based code-access security in an application | 1.1 Demonstrate understanding of the purpose of application security in software development 1.2 Configure platform security configuration files using security configuration tools 1.3 Define a custom code access permission to restrict access to protected resources or run protected operations |
2. Implement security access control in an application | 2.1 Plan authentication and authorisation strategy 2.2 Develop an appropriate authentication and authorisation strategy for an application |
3. Write code to encrypt and decrypt data for secure communication | 3.1 Demonstrate understanding of the standard cryptographic algorithms 3.2 Encrypt and decrypt data using standard cryptographic algorithms |
4. Protect an application against injections | 4.1 Plan secure input and output handling to prevent vulnerabilities related to code injections 4.2 Use secure input and output handling |
Required Skills
Required skills
analytical skills to:
deal with common programming security problems
identify security weaknesses in existing code
literacy skills to evaluate complex and varied information and concepts in software security
planning and organisational skills to ensure privacy for users and protect sensitive user data
problem-solving skills to develop and refine security access control strategies
technical skills to:
use security configuration tools
write secure code for application.
Required knowledge
basic hardware and networking knowledge
basic programming algorithms
detailed knowledge of object-oriented programming
maths at basic level.
Evidence Required
The evidence guide provides advice on assessment and must be read in conjunction with the performance criteria, required skills and knowledge, range statement and the Assessment Guidelines for the Training Package.
Overview of assessment | |
Critical aspects for assessment and evidence required to demonstrate competency in this unit | Evidence of the ability to: create secure applications plan security strategies ensure safe communications prevent security attacks. |
Context of and specific resources for assessment | Assessment must ensure access to: security configuration tools software development environment testing and debugging tools network resources appropriate learning and assessment support when required modified equipment for people with special needs. |
Method of assessment | A range of assessment methods should be used to assess practical skills and knowledge. The following examples are appropriate for this unit: verbal or written questioning to assess candidate’s knowledge of: application security concepts cryptographic algorithms application protection against injections evaluation of candidate’s ability to: create secure code and perform security configurations apply secure communications protect data and code. |
Guidance information for assessment | Holistic assessment with other units relevant to the industry sector, workplace and job role is recommended, where appropriate. Assessment processes and techniques must be culturally appropriate, and suitable to the communication skill level, language, literacy and numeracy capacity of the candidate and the work being performed. Indigenous people and other people from a non-English speaking background may need additional support. In cases where practical assessment is used it should be combined with targeted questioning to assess required knowledge. |
Range Statement
The range statement relates to the unit of competency as a whole. It allows for different work environments and situations that may affect performance. Bold italicised wording, if used in the performance criteria, is detailed below. Essential operating conditions that may be present with training and assessment (depending on the work situation, needs of the candidate, accessibility of the item, and local industry and regional contexts) may also be included.
Application security may include: | code protection cryptography injections security access control (SAC): authentication authorisation. |
Security configuration tools may include: | Java Policy Tool (policytool.exe) for setting code and principal-based security policies .NET security configuration files: enterprise machine user .NET security configuration tools: Caspol.exe Mscorcfg.msc. |
Code access permission may include: | file system rights and authorisation java.security.Permission or java.security.BasicPermission NET Code Access Permission class. |
Authentication and authorisation strategy may include: | certificate management login mechanism membership provider role-based security user access control (UAC) web service rights and authentication. |
Cryptographic algorithms may include: | asymmetric hashes password-based encryption signatures symmetric. |
Secure input and output handling may include: | escaping input encoding input validation output encoding parameterised structured query language (SQL) queries. |
Sectors
Programming and software development
Employability Skills
This unit contains employability skills.
Licensing Information
No licensing, legislative, regulatory or certification requirements apply to this unit at the time of endorsement but users should confirm requirements with the relevant federal, state or territory authority.